package com.vhall.component.entity.livecolumn.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.entity.subject.enums.StatusEnum;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * LiveColumnBaseResponseVO-
 *
 * @author xing.wang
 * @date 2023/8/5
 */
@Data
public class LiveColumnBaseResponseVO implements Serializable {
    /**
     * 栏目 id
     */
    @JsonProperty("id")
    private Integer id;
    /**
     * 操作内容
     */
    private String name;

    /**
     * 栏目图标图片url
     */
    @JsonProperty("column_image_url")
    @ParamName("column_image_url")
    private String columnImageUrl;

    /**
     * 栏目归属部门code
     */
    @JsonProperty("org_code")
    @ParamName("org_code")
    private String orgCode;

    /**
     * 栏目归属部门名称
     */
    @JsonProperty("org_name")
    @ParamName("org_name")
    private String orgName;

    /**
     * 栏目简介
     */
    private String desc;
    /**
     * 审核状态,0:待送审,1:待审核,2:审核通过,3:审核驳回
     */
    @JsonProperty("audit_status")
    @ParamName("audit_status")
    private Integer auditStatus;

    /**
     * 审核描述
     */
    @JsonProperty("audit_note")
    @ParamName("audit_note")
    private String auditNote;

    /**
     * 创建人名称
     */
    @JsonProperty("create_name")
    @ParamName("create_name")
    private String createName;
    /**
     * 创建人 id
     */
    @JsonProperty("create_by")
    @ParamName("create_by")
    private Integer createBy;

    /**
     * 置顶标记
     * 0 关
     * 1 开
     * <p>
     * {@link StatusEnum}
     */
    @JsonProperty("top_status")
    @ParamName("top_status")
    private Integer topStatus;

    /**
     * 置顶时间
     */
    @JsonProperty("top_status_at")
    @ParamName("top_status_at")
    private LocalDateTime topStatusAt;

    /**
     * 近一个月直播次数
     */
    @JsonProperty("recent_month_live_count")
    @ParamName("recent_month_live_count")
    private int recentMonthLiveCount;

    /**
     * 总共直播次数
     */
    @JsonProperty("total_live_count")
    @ParamName("total_live_count")
    private int totalLiveCount;

    /**
     * 栏目被关注人数
     */
    @JsonProperty("column_follows_count")
    @ParamName("column_follows_count")
    private int columnFollowsCount;

    /**
     * 近一个月视频观看人数
     */
    @JsonProperty("recent_month_views_count")
    @ParamName("recent_month_views_count")
    private int recentMonthViewsCount;

    /**
     * 近一个月视频观看次数
     */
    @JsonProperty("recent_month_views_frequency")
    @ParamName("recent_month_views_frequency")
    private int recentMonthViewsFrequency;
}
